// 根据环境加载对应的配置文件
const env = process.env.NODE_ENV || 'development';
require('dotenv').config({ path: `.env.${env}` });
// 1.导入express
const express = require('express');
const cors = require('cors')

//2.创建web服务器
const app = express();

// 中间件配置
app.use(cors())
// 解析 url-encoded格式的表单数据
app.use(express.urlencoded({ extended: false }));
// 解析json格式的表单数据
app.use(express.json());

//导入路由模块
const router = require('./api/apiRouter')

// 登录验证拦截
app.use((req, res, next) => {
    console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
    next()
})

//把路由模块注册到app上
app.use('/api', router)

// 错误处理中间件
app.use((err, req, res, next) => {
    console.error('服务器错误:', err);
    res.status(500).send({
        status: 1,
        message: '服务器内部错误',
        data: null
    });
});

// 404处理
app.use((req, res) => {
    res.status(404).send({
        status: 1,
        message: '接口不存在',
        data: null
    });
});

//3.调用app.listen(端口号，启动成功的回调函数），启动服务器
const PORT = process.env.PORT;
app.listen(PORT, () => {
    console.log(`🚀 服务器启动成功! (${env}环境)`);
    console.log(`📍 访问地址: http://127.0.0.1:${PORT}`);
    console.log(`🌍 环境: ${env}`);
    console.log(`📊 数据库: ${process.env.DB_HOST || '未配置'}:${process.env.DB_PORT || '未配置'}`);
})
